//import com.alibaba.fastjson.JSON;
//import com.github.pagehelper.PageHelper;
//import com.moduleSys.Application;
//
//
//import com.moduleSys.config.RedisConfig;
//import com.moduleSys.entity.system.Menu;
//import com.moduleSys.entity.system.User;
//import com.moduleSys.mapper.MenuMapper;
//import com.moduleSys.mapper.UserMapper;
//import com.moduleSys.menuService.MenuService;
//import com.moduleSys.userService.UserService;
//import com.moduleSys.utils.MD5;
//import com.moduleSys.utils.json.JsonResult;
//import menu.MenuVo;
//import org.apache.shiro.SecurityUtils;
//import org.apache.shiro.authc.IncorrectCredentialsException;
//import org.apache.shiro.authc.UnknownAccountException;
//import org.apache.shiro.authc.UsernamePasswordToken;
//import org.apache.shiro.subject.Subject;
//import org.junit.Test;
//import org.junit.runner.RunWith;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Qualifier;
//import org.springframework.boot.test.context.SpringBootTest;
//import org.springframework.data.redis.core.StringRedisTemplate;
//import org.springframework.test.context.junit4.SpringRunner;
//import org.springframework.test.context.web.WebAppConfiguration;
//import org.springframework.transaction.annotation.EnableTransactionManagement;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.*;
//
///**
// * Created by czw on 2017/6/30
// */
////@RunWith(SpringJUnit4ClassRunner.class)
//@RunWith(SpringRunner.class)
//@SpringBootTest(classes = Application.class)
//@WebAppConfiguration
//@EnableTransactionManagement
//public class AplicationDemo {
//    private Logger logger = LoggerFactory.getLogger(AplicationDemo.class);
//
//    @Autowired
//    @Qualifier("userService")
//    private UserService userService;
//
//    @Autowired
//    private UserMapper userMapper;
//    @Autowired
//    private MenuMapper menuMapper;
//
//    @Autowired
//    private StringRedisTemplate stringRedisTemplate;
//
////    @Autowired
////    private RedisConfig redisConfig;
//
//    @Autowired
//    @Qualifier("menuService")
//    private MenuService menuService;
//
//    @Test
//    @Transactional
//    public void testAddUser(){
//        logger.info("单元测试 ========> ~@^_^@~ ");
//        User user = new User();
//        user.setUsername("test7");
//        user.setPassword("11");
//        userMapper.insert(user);
//        User user2 = new User();
//        user2.setUsername("test6");
//        user2.setPassword("11676");
//        userMapper.insert(user2);
///*        userMapper.saveUser("test7","11");
//        userMapper.saveUser("test8","88");*/
//       /* PageHelper.startPage(1, 3,"id DESC");
//        List<User> userList = userMapper.list();
//        PageInfo pageInfo = new PageInfo(userList);
//        logger.info(pageInfo.toString());
//        for ( User user : userList){
//            System.out.println(user.toString());
//        }*/
//       //logger.info("==========> "+userMapper.selectByPrimaryKey(1L));
//      // logger.info("getUserById ==========> "+userService.getUserById(1L));
//        //int i = 1/0;
//   /*     User user2 = new User();
//        user2.setUsername("test6");
//        user2.setPassword("114661146611466114661146611466");
//        userMapper.saveUser(user2);*/
//      //  logger.info("单元测试 ========> ~@^_^@~  "+userMapper);
//      // userMapper.insert("测试3","123456");
//      // logger.info("单元测试 ========> ~@^_^@~"+userMapper.getUserById(user.getId()).toString());
//        //logger.info("单元测试 ========> ~@^_^@~"+userMapper.findUserByUserName("测试"));
//    }
//    @Test
//    public void test2(){
//        //e0c16e39463ec530ef4fcbc258ec2f4f 散列6次
//        //md5 123 = 202cb962ac59075b964b07152d234b70
//      //  logger.info("单元测试 ========> ~@^_^@~ "+userMapper.selectUserByUserName("测试").getUsername());
//        UsernamePasswordToken token = new UsernamePasswordToken("测试", "202cb962ac59075b964b07152d234b70", false);
//        try {
//          //  token.setRememberMe(true);
//            Subject subject = SecurityUtils.getSubject();
//            subject.login(token);
//        } catch (UnknownAccountException var12) {
//            logger.info("账号不存在");
//        } catch (IncorrectCredentialsException var13) {
//            var13.printStackTrace();
//            logger.info( "密码错误");
//        }
//    }
//    @Test
//    public void test(){
//        System.out.println(new MD5().getMD5ofStr("123456"));
//    }
//
//    @Test
//    public void test6(){
//        List<Menu> Menu = menuMapper.list();
//        List<MenuVo> menuVoList = new ArrayList<>();
//        List<MenuVo> children = new ArrayList<>();
//        for(int i = 0; i < Menu.size(); i++){
//            long id = Menu.get(i).getId();
//            MenuVo menuVo = new MenuVo();
//            menuVo.setPid(id+"");
//            menuVo.setHref(Menu.get(i).getResUrl());
//            menuVo.setIcon(Menu.get(i).getIcon());
//            menuVo.setTitle(Menu.get(i).getName());
//            for ( int n = 0; n < Menu.size(); n++){
//                MenuVo menuVos = new MenuVo();
//                if ( id == Menu.get(n).getParentId() ){
//                    menuVos.setHref(Menu.get(n).getResUrl());
//                    menuVos.setIcon(Menu.get(n).getIcon());
//                    menuVos.setTitle(Menu.get(n).getName());
//                    children.add(menuVos);
//                }
//            }
//            if( children.size() > 0 ){
//                menuVo.setChildren(children);
//            }
//            menuVoList.add(menuVo);
//            Menu.remove(i);
//        }
//        System.out.println(JSON.toJSON(menuVoList).toString());
//    }
//
//    @Test
//    public void test7(){
//        List<Menu> MenuList = menuMapper.list();
//        List<MenuVo> menuVoList = new ArrayList<>();
//        for (int i = 0; i < MenuList.size(); i++){
//            AplicationDemo.treeMenuList(menuVoList,MenuList,MenuList.get(i));
//        }
//        System.out.println(JSON.toJSON(menuVoList).toString());
//    }
//
//    /**
//     * 获取某个父节点下面的所有子节点
//     * @param MenuList
//     * @return
//     */
//    public static void treeMenuList( List<MenuVo> menuVoList, List<Menu> MenuList, Menu Menu){
//        for(Menu re: MenuList){
//            //遍历出父id等于参数的id，add进子节点集合
//            MenuVo menuVo = new MenuVo();
//            menuVo.setPid(Menu.getId()+"");
//            menuVo.setHref(Menu.getResUrl());
//            menuVo.setIcon(Menu.getIcon());
//            menuVo.setTitle(Menu.getName());
//            if( re.getParentId() == Menu.getId() ){
//                MenuVo menuVos = new MenuVo();
//                menuVos.setPid(re.getId()+"");
//                menuVos.setHref(re.getResUrl());
//                menuVos.setIcon(re.getIcon());
//                menuVos.setTitle(re.getName());
//                //递归遍历下一级
//                treeMenuList(menuVoList,MenuList,re);
//            }
//            menuVoList.add(menuVo);
//        }
//    }
//    @Test
//    public void test8(){
// /*       List<Menu> MenuList = menuService.list();
//        List<MenuVo> menuVoList = new ArrayList<>();
//        List list = new ArrayList();
//        long id = -1;
//        for (int i = 0; i < MenuList.size(); i++){
//            MenuVo menuVo = new MenuVo();
//            menuVo.setPid(MenuList.get(i).getId()+"");
//            menuVo.setHref(MenuList.get(i).getResUrl());
//            menuVo.setIcon(MenuList.get(i).getIcon());
//            menuVo.setTitle(MenuList.get(i).getName());
//            list = DbTest.getChildNodes(MenuList,MenuList.get(i),new ArrayList());
//            if( list.size() > 0 ){
//                menuVo.setChildren(list);
//                id = MenuList.get(i).getId();
//            }
//            if ( MenuList.get(i).getParentId() != id){
//                menuVoList.add(menuVo);
//            }
//
//        }
//        System.out.println(JSON.toJSON(menuVoList).toString());*/
//    }
///*    public static List getChildNodes(List<Menu> list,Menu Menu, List returnList) {
//        for (Iterator<Menu> iterator = list.iterator(); iterator.hasNext();) {
//            Menu node = (Menu) iterator.next();
//            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
//            if (Menu.getId() == node.getParentId()) {
//                MenuVo menuVos = new MenuVo();
//                menuVos.setPid(node.getId()+"");
//                menuVos.setHref(node.getResUrl());
//                menuVos.setIcon(node.getIcon());
//                menuVos.setTitle(node.getName());
//                returnList.add(menuVos);
//                //递归遍历子后子
//                getChildNodes(list, node, returnList);
//            }
//        }
//        return returnList;
//    }*/
//
//    @Test
//    public void tests(){
//        int currentPage = 1;
//        int pageSize = 9;
//        JsonResult jr = new JsonResult();
//        PageHelper.startPage(currentPage, pageSize);
////        currentPage = currentPage > 1 ? (currentPage - 1) * pageSize : 0;
//        Map<String, Object> map = new HashMap<>();
////        map.put("pageSize",pageSize);
////        map.put("currentPage",currentPage);
//        List<User> userList = userMapper.selectByMap(map);
//       /* PageInfo<User> userPageInfo = new PageInfo<>(userList);*/
//        jr.setData(userList);
//        jr.setNumber(userMapper.countUser());
//        System.out.println(jr.toJsonString());
//    }
//
//    @Test
//    public void test11(){
//        System.out.println(stringRedisTemplate);
//    }
//
//}
